Nullable Types == != && ||


Schon für Einsteiger in die farbenfrohe Welt des C# wird früh der Bereich der booleschen Algebra interessant, Entscheidungen auf Grundlage von Wahrheitswerten zu fällen ist Essenziell für den strukturierten Ablauf eines Programmes.

Ein interessanter Hinweis zum Thema logischer Operatoren:

Operator

Beschreibung

&&

Logisches Und (es werden nur solange Operanten geprüft bis einer false ist,-> ganzer Ausdruck false)

||

Logisches Oder (es werden nur solange Operanten geprüft bis einer true ist,-> ganzer Ausdruck true)

&

Logisches Und (alle Operanten werden geprüft)

|

Logisches Oder (alle Operanten werden geprüft)


Man bezeichnet das Vorgehen bei && und bei || als shortcircuit-Evaluation, soll heißen die Evaluierung kann abgeschlossen sein ohne das jeder Operant ausgewertet werden musste, was Ressourcen spart.


Für den Vergleich von nullierbaren Datentypen (Nullable Types) ist grundlegend zu beachten dass,

· Bei Verwendung auf ausschließlich Nicht-NULL-Operanten wird der Operator auf die Werte angewendet

· Hat mindestens ein Operant einen Wert und mindesten einer ist NULL ergibt == false und != true

· Sind Alle Operanten NULL ergibt == true und !=false

Das bedeutet:

int? Wert1 = 5;
int? Wert2 = 10;
int? Wert3 = null;
int? Wert4 = null;
int? Wert5 = 10;
bool b1;
b1 = Wert1 == Wert2; // False
b1 = Wert2 == Wert5; // True
b1 = Wert1 == Wert3; // False
b1 = Wert1 != Wert3; // True
b1 = Wert3 == Wert4; // True<BR>b1 = Wert3 != Wert4; // False


wobei int? nullableOfInt32 bedeutet, also “nullierbare” Variante von Int32.

Und wessen Interesse geweckt ist findet hier ein Tor zu dem nötigen Wissen um in C# durch zu starten.

Kommentare sind geschlossen